home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / BUGFIXGP.ZIP / RECALL2.SRC < prev    next >
Text File  |  1990-11-21  |  13KB  |  330 lines

  1. ;\|
  2. ;RECALL2.SRC     Translated from RECALL2.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;START    10:24:38 AM  28/ 5/90   |
  4. RECALLSX:
  5. define(MEM_DOC|A|20||)
  6. define(Z30|A|30||)
  7. define(LINE|N|2||)
  8. define(LOC_CTR|N|1||)
  9. define(PUNC2|N|2||)
  10. define(CH_NAME|A|15||)
  11. define(HIS|A|3||)
  12. define(CL_DAY|A|32||)
  13. define(PUNC2|N|2||)
  14. define(CNTR|N|2||)
  15. define(FLAG|A|1||)
  16. define(AMOUNTX|N|4||)
  17. define(S10|A|10||)
  18. define(DATECOD|S|8||)
  19. define(CODER|A|5||)
  20. define(C30|A|30||)
  21. define(TM|A|27||4)
  22. define(A30|A|30||)
  23. define(CHOICE|N|1||)
  24. define(TDND|S|8||)
  25. define(DATERP|S|8||)
  26. define(B30|A|30||)
  27. define(S1|A|1||)
  28. define(TD|S|8||)
  29. define(A8|A|8||)
  30. define(B8|A|8||)
  31. define(YES.NO|A|1||)
  32. define(N5|N|5||)
  33. define(D1|A|1||)
  34. define(NY|A|1||)
  35. define(CODEX1|S|8||)
  36. define(CTR|N|2||)
  37. define(DATEN|N|2||)
  38. define(DATEX|S|8||)
  39. define(TIT|A|4||)
  40. define(PATIENT1A|A|30||)
  41. define(PUNC1|N|2||)
  42. define(N.2.0.P|N|2||)
  43. define(P.2.0.1|N|2||)
  44. define(P.2.0.2|N|2||)
  45. define(PATIENT2|A|30||)
  46. define(P.2.0.3|N|2||)
  47. define(RECTYPE1|A|4||)
  48. define(RECTYPE2|A|4||)
  49. define(PATIENT1|A|30||)
  50. mount(NOTE|S)
  51. pmsg(""|1|1|Y|N|S|)
  52. open(PATIENT||0|FILE_LOCK)
  53. open(GPSETUP||0|)
  54. open(RECALLS||0|FILE_LOCK)
  55. find(B|HEADING||)
  56. D1 = ("")
  57. date(TD|G)
  58. YES.NO = ("")
  59. DATEX = (0)
  60. DATEN = (0)
  61. CODEX1 = (0)
  62. NY = ("")
  63. trap(I|G|PRINTSTOP)
  64. trap(S|I)
  65. trap(D|I)
  66. trap(F|I)
  67. trap(R|I)
  68. trap(B|I)
  69. trap(G|I)
  70. trap(H|S|HELP)
  71. trap(M|I)
  72. trap(N|I)
  73. trap(Q|G|MENU)
  74. mount(RECALLS|S)
  75. enter(CL_DAY||||N|N|N|||N)
  76. trim(CL_DAY|T)
  77. enter(RECTYPE1||||Y|Y|N|||N)
  78. enter(RECTYPE2||||Y|Y|N|||N)
  79. CTR = (3)
  80. enter(CODEX1|||RECALLSX|N|Y|N|||N)
  81. pchr(P|4)
  82. RECSTART:
  83. COD.PAT.NAME = ("A")
  84. find(G|COD.PAT.NAME|EXIT|N)
  85. RECTEST:
  86. if RECTYPE1 <> ("") then if RECTYPE1 > (COD[CTR]) goto NEXTRECALL
  87. if RECTYPE2 <> ("") then if RECTYPE2 < (COD[CTR]) goto NEXTRECALL
  88. if COD.D[CTR] > (CODEX1) goto NEXTRECALL
  89. if COD.D[CTR] = (0) goto NEXTRECALL
  90. RECORD.NUMBER = (COD.REF)
  91. DATECOD = (COD.D[CTR])
  92. CODER = (COD[CTR])
  93. find(M|RECORD.NUMBER|EXIT|)
  94. DATERP = (COD.D[CTR])
  95. gosub PRINTRECAL
  96. NEXTRECALL:
  97. find(N|RECALLS|EXITX|)
  98. goto RECTEST
  99. SEXIST:
  100. if SEX = ("M") do
  101. {
  102. TIT = ("Mr.")
  103. HIS = ("his")
  104. }
  105. if SEX = ("F") do
  106. {
  107. if MARITAL.STATUS = ("M") do
  108. {
  109. TIT = ("Mrs.")
  110. }
  111. else
  112. {
  113. TIT = ("Ms.")
  114. }
  115. HIS = ("her")
  116. }
  117. if SEX = ("") then TIT = ("Ms.")
  118. trim(TIT|T)
  119. ret
  120. NEWX:
  121. PATIENT1A = (PATIENT.NAME)
  122. PUNC1 =loc(","|PATIENT1A|1||27)
  123. PUNC1 = (PUNC1-1)
  124. PATIENT2 =mid(PATIENT.NAME|1|PUNC1|)
  125. PUNC1 = (PUNC1+3)
  126. P.2.0.2 = (27-PUNC1)
  127. PATIENT1 =mid(PATIENT1A|PUNC1|P.2.0.2|)
  128. PUNC2 =loc(" "|PATIENT1|1||P.2.0.2)
  129. CH_NAME =mid(PATIENT1|1|PUNC2|)
  130. trim(PATIENT1|T)
  131. trim(PATIENT2|T)
  132. Z30 = (TIT+PATIENT1+NY+PATIENT2)
  133. trim(CH_NAME|T)
  134. mem_doc = (rpdoctor[doctor])
  135. ret
  136. CLEARALL:
  137. clr(PATIENT|B)
  138. clr(RECALLS|B)
  139. S1 = ("")
  140. DATEX = (0)
  141. YES.NO = ("")
  142. ret
  143. EXIT:
  144. run("recmenu")
  145. EXIT1:
  146. run("recmenu")
  147. PRINTSTOP:
  148. pon(S)
  149. clrlne(1|25)
  150. pmsg("CONTINUE ? (Y/N):"|30|12|N|N|S|)
  151. enter(YES.NO|"YN"||PRINTSTOP|Y|Y|N|48|12|N)
  152. if YES.NO <> ("Y") then run("recmenu")
  153. pon(P)
  154. ret
  155. MENU:
  156. TM[1] = (" 1 - EXIT             01011")
  157. menu(1|20|2|23|0|TM|CHOICE|1|22|MENU||"-------RECALLS--------"|N)
  158. on(CHOICE|G|EXIT1|MENU)
  159. TRACE:
  160. break
  161. ret
  162. FILE_LOCK:
  163. pmsg("FILE PATIENT AND/OR RECALLS IS IN USE - EXIT"|20|24|Y|N|S|)
  164. clrlne(1|24)
  165. run("recmenu")
  166. HELP:
  167. saves(1)
  168. window(1|23|22|78)
  169. pmsg("                                    SMEAR RECALLS"|1|1|N|Y|S|)
  170. pmsg("                                    ============="|1|2|N|Y|S|)
  171. pmsg("1.USE UPDATE PROGRAM AND MAKE SURE ALL WOMEN BETWEEN 33 AND 65 ARE ENTERED"|1|3|N|Y|S|)
  172. pmsg("2.ALL THESE WOMEN MUST HAVE A RECALL DATE."|1|4|N|Y|S|)
  173. pmsg("3.RUN REPORT ONLY TO GET LATEST UPDATE ON TOTAL AT-RISK GROUP"|1|5|N|Y|S|)
  174. pmsg("4.RECALL EVERY MONTH ON THE 16th + A DAY OR TWO"|1|6|N|Y||)
  175. pmsg("5.CHECK OFF AGAINST RECALL LIST. ALL NON-ATTENDERS WILL BE ASKED AGAIN"|1|7|N|Y|S|)
  176. pmsg("6.NON-ATTENDERS WILL BE THOSE WHO ARE MORE THAN ONE MONTH BEHIND"|1|8|N|Y||)
  177. pmsg(""|1|9|N|Y|S|)
  178. pmsg("                                    CODES"|1|10|N|Y|S|)
  179. pmsg("                                    ====="|1|11|N|Y|S|)
  180. pmsg("CODE 1 = SMEARS"|1|12|N|Y|S|)
  181. pmsg("CODE 2 = CONTRACEPTION"|1|13|N|Y|S|)
  182. pmsg("CODE 3 = IMMUNISATION"|1|14|N|Y|S|)
  183. pmsg("CODE 4 = DIABETES"|1|15|N|Y|S|)
  184. pmsg("CODE 5 = EPILEPSY"|1|16|N|Y|S|)
  185. pmsg("CODE 6 = THYROID"|1|17|N|Y|S|)
  186. pmsg("CODE 7 = ANGINA AND HEART DISEASE"|1|18|N|Y|S|)
  187. pmsg("CODE 8 = ASTHMA"|1|19|N|Y|S|)
  188. pmsg("CODE 9 = BP"|1|20|N|Y|S|)
  189. pmsg(""|1|21|Y|N|S|)
  190. redsp(1)
  191. ret
  192. ;IMMUN    01:33:54 AM   8/11/89   |
  193. PRINTRECAL:
  194. gosub SEXIST
  195. gosub NEWX
  196. pset(140|72|72)
  197. pmsg(%27;%120;%49;%27;%112;%49;%27;%107;%49|||N|N|P|)
  198. pmsg("                     ";%27;%119;%49;%27;%80;%14;%18;let_title;%27;%119;%48;%27;%112;%48|||N|N|P|)
  199. pmsg(%27;%15;%27;%71;""|||N|N|P|)
  200. pmsg(title1;"                                                   ";ad1|||N|N|P|)
  201. pmsg(title2;"                                                   ";ad2|||N|N|P|)
  202. pmsg(title3;"                                                   ";ad3|||N|N|P|)
  203. pmsg(Title4;"                                                   ";ad4|||N|N|P|)
  204. pset(90|72|72)
  205. pmsg(%18;%27;%112;%49;%27;%72;""|||N|N|P|)
  206. pmsg(""|||N|N|P|)
  207. pmsg(""|||N|N|P|)
  208. pmsg("    ";%27;%45;%49;%27;%69;"POLIO-DIPTHERIA-WHOOPING COUGH-TETANUS-MEASLES-MUMPS-GERMAN MEASLES";%27;%45;%48;%27;%70|||N|N|P|)
  209. pmsg(""|||N|N|P|)
  210. pmsg(""|||N|N|P|)
  211. pmsg("Dear Mrs. ";PATIENT2;","|||N|N|P|)
  212. pmsg(""|||N|N|P|)
  213. if COD[CTR] = ("") do
  214. {
  215. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" FIRST IMMUNISATION.";%27;%70|||N|N|P|)
  216. goto NEXTLINE
  217. }
  218. LOC_CTR =loc("1"|COD[3]|1||4)
  219. if LOC_CTR > (0) do
  220. {
  221. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" SECOND IMMUNISATION.";%27;%70|||N|N|P|)
  222. goto NEXTLINE
  223. }
  224. LOC_CTR =loc("2"|COD[3]|1||4)
  225. if LOC_CTR > (0) do
  226. {
  227. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" THIRD IMMUNISATION.";%27;%70|||N|N|P|)
  228. goto NEXTLINE
  229. }
  230. LOC_CTR =loc("3"|COD[3]|1||4)
  231. if LOC_CTR > (0) do
  232. {
  233. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" MUMPS,MEASLES & RUBELLA ";%27;%70;"vaccination."|||N|N|P|)
  234. goto NEXTLINE
  235. }
  236. LOC_CTR =loc("M"|COD[3]|1||4)
  237. if LOC_CTR > (0) do
  238. {
  239. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" PRE-SCHOOL BOOSTER ";%27;%70;"vaccination."|||N|N|P|)
  240. goto NEXTLINE
  241. }
  242. pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" IMMUNISATION.";%27;%70|||N|N|P|)
  243. NEXTLINE:
  244. pmsg(""|||N|N|P|)
  245. pmsg("This procedure is very important for the future health of your child and ";%27;%69;"OTHERS.";%27;%70|||N|N|P|)
  246. pmsg("Immunisation is the ";%27;%69;"ONLY ";%27;%70;"way of fighting these deadly diseases."|||N|N|P|)
  247. pmsg(""|||N|N|P|)
  248. pmsg(%27;%69;"ANTIBIOTICS WILL NOT WORK ";%27;%70;"so you must protect ";%27;%69;CH_NAME;%27;%70;" now."|||N|N|P|)
  249. pmsg(""|||N|N|P|)
  250. pmsg("Your Doctor will be pleased to discuss any worries you may have about "|||N|N|P|)
  251. pmsg("protecting your child."|||N|N|P|)
  252. pmsg(""|||N|N|P|)
  253. pmsg(%27;%69;"An appointment has been made for ";CH_NAME;" on ";CL_DAY;%27;%70|||N|N|P|)
  254. pmsg(""|||N|N|P|)
  255. pmsg("If this time is not convenient please ring to arrange another or see your Doctor."|||N|N|P|)
  256. pmsg(""|||N|N|P|)
  257. pmsg("Yours sincerely,"|||N|N|P|)
  258. pmsg(""|||N|N|P|)
  259. pmsg(""|||N|N|P|)
  260. pmsg(""|||N|N|P|)
  261. pmsg(MEM_DOC|||N|N|P|)
  262. pmsg(""|||N|N|P|)
  263. pmsg(%27;%112;%48;%27;%69;%18;%27;%116;%49;%27;%55|||N|Y|P|)
  264. pmsg("    ┌─────────────────────────────────────────────────────────────────┐"|||N|N|P|)
  265. pmsg("    │ PLEASE BE A CARING PARENT AND MAKE SURE YOUR CHILD IS PROTECTED │"|||N|N|P|)
  266. pmsg("    └─────────────────────────────────────────────────────────────────┘"|||N|N|P|)
  267. pmsg(%27;%64;%27;%70|||N|Y|P|)
  268. for(LINE|1|28|1)
  269. {
  270. pmsg(""|||N|N|P|)
  271. }
  272. ret
  273. EXITX:
  274. goto EXIT
  275. \SSRECALLS 
  276.                                                                                                 
  277.                                                                                                 
  278.                                                                                                 
  279.                                                                                                 
  280.                                                                                                 
  281.                       IMMUNISATION LETTER PRINTING                                              
  282.                                                                                                 
  283.    RECALLS                                                       ╔══════════════════════════════
  284. ══════════╗                                      ║   Clinic day: p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p
  285.                                  ║                                        ║                     
  286.                  ║  From Code: p p p p  to  Code: p p p p         ║                                     
  287.  ║                                        ║                                      ║ Up to Date: p p
  288.  p p p p p p  p p/??/??           ║                                      ╚══════════════════════════════
  289. ══════════╝                                                                                     
  290.                                                                                                 
  291.                                                                                                 
  292.                                                                                                 
  293.                                                                                                 
  294.                                                                                                 
  295.                                                                                                 
  296. \
  297. CL_DAY             32 A 3311
  298. RECTYPE1            4 A 3113
  299. RECTYPE2            4 A 4613
  300. CODEX1              8 S 3115
  301. DATEN               2 N 4015
  302. \
  303. \STNOTE    
  304.                          RECALLS - WHAT TO DO
  305.                          ====================
  306.  
  307. 1. TO TAG ALL POTENTIAL RECALLS ANSWER RUN RECALLS AT RISK FROM MAIN MENU.
  308.  
  309.   (THIS WILL TAG A GIVEN AGE GROUP WITH CODE <****>)
  310.  
  311. 2. TO UPDATE THE <****> USE EASY SMEAR /IMMUNISATION UPDATE PROGRAM.
  312.  
  313. 3. IF YOU ANSWER NO TO REPORT ONLY YOU WILL PRINT A LIST OF OUTSTANDING
  314.    RECALLS WITH OR WITHOUT LABELS.
  315.  
  316. 6. PRINT OUT THESE AND SEND TO PATIENTS.
  317.  
  318. 7. UPDATE  RESULTS USING EASY RECALL MAINTENANCE
  319.  
  320.         NOTE: THIS PROGRAM WILL ALWAYS PRINT OUT "ALL" OUTSTANDING RECALLS.
  321.  
  322.                           ========================
  323.  
  324.  
  325.  
  326.  
  327.  
  328. \
  329. \
  330.